home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / Software / Servis / FFE / SOUND.SWG / 0048_RAD v1.0.pas < prev    next >
Pascal/Delphi Source File  |  1997-05-11  |  11KB  |  146 lines

  1.                             TECHNICAL SPECIFICATIONS                          :
  2.                          ▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀                       ∙
  3.  
  4.      RAD V1.0+ file format is as follows: (values in hex)
  5.  
  6.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  7.    █ HEADER                                                                 █
  8.    █────────────────────────────────────────────────────────────────────────█
  9.    █ Offset  00..0F:"RAD by REALiTY!!" - Use this to recognize a RAD tune.  █
  10.    █                                     Just detecting the initial "RAD"   █
  11.    █                                     should be sufficient though! ;-)   █
  12.    █                                                                        █
  13.    █ Offset      10:BCD                - Version of RAD file (not RAD ver.) █
  14.    █                                     Currently 10h for v1.0.            █
  15.    █                                                                        █
  16.    █ Offset      11:Bit 7              - Set if a description follows.      █
  17.    █                Bit 6              - Set if it's a "slow-timer" tune.   █
  18.    █                Bits 4..0          - The initial speed of the tune.     █
  19.    █                                                                        █
  20.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  21.    █ DESCRIPTION                                                            █
  22.    █────────────────────────────────────────────────────────────────────────█
  23.    █ The description follows the header if Bit 7 of Offset 11h is set.  The █
  24.    █ description is a null-terminated string.  To save some space in the    █
  25.    █ tune file, the characters mean:                                        █
  26.    █                                                                        █
  27.    █ Char 00      - End of description (null-terminator)                    █
  28.    █ Char 01      - Move to start of next line (Carriage return)            █
  29.    █ Char 02..1F  - Output this many spaces                                 █
  30.    █ Char 20..FF  - Output this character                                   █
  31.    █                                                                        █
  32.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  33.    █ INSTRUMENTS                                                            █
  34.    █────────────────────────────────────────────────────────────────────────█
  35.    █ Next come the instruments:                                             █
  36.    █                                                                        █
  37.    █ Offset      00:No. of Adlib instrument that follows (or 0 for no more) █
  38.    █ Offset  01..0B:The instrument definition in HSC .INS format:           █
  39.    █                                                                        █
  40.    █          ╔══════╦═══════════════════╦═══════════════════════╗          █
  41.    █          ║      ║                   ║ Adlib Register        ║          █
  42.    █          ║ Byte ║ Carrier/Modulator ║ (Relative to Chan. 0) ║          █
  43.    █          ╠══════╩═══════════════════╩═══════════════════════╣          █
  44.    █          ║  00  │  Carrier          │   23h                 ║          █
  45.    █          ║  01  │  Modulator        │   20h                 ║          █
  46.    █          ║  02  │  Carrier          │   43h - Instr. Volume ║          █
  47.    █          ║  03  │  Modulator        │   40h                 ║          █
  48.    █          ║  04  │  Carrier          │   63h                 ║          █
  49.    █          ║  05  │  Modulator        │   60h                 ║          █
  50.    █          ║  06  │  Carrier          │   83h                 ║          █
  51.    █          ║  07  │  Modulator        │   80h                 ║          █
  52.    █          ║  08  │  Both             │   C0h                 ║          █
  53.    █          ║  09  │  Carrier          │   E3h                 ║          █
  54.    █          ║  0A  │  Modulator        │   E0h                 ║          █
  55.    █          ╚══════════════════════════════════════════════════╝          █
  56.    █                                                                        █
  57.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  58.    █ ORDER LIST                                                             █
  59.    █────────────────────────────────────────────────────────────────────────█
  60.    █ The Order List follows the instruments:                                █
  61.    █                                                                        █
  62.    █ Offset      00:Length of Order List (up to 128)                        █
  63.    █                                                                        █
  64.    █ Offset  01..nn:List of orders, one byte for each line:                 █
  65.    █                                                                        █
  66.    █                00..1F:The pattern to play.                             █
  67.    █                80..FF:The line to jump to minus 80h (Jump Marker)      █
  68.    █                                                                        █
  69.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  70.    █ PATTERN OFFSET TABLE                                                   █
  71.    █────────────────────────────────────────────────────────────────────────█
  72.    █  For all 32 patterns there is a word in this table which gives the     █
  73.    █  offset from the start of the file of the pattern data.                █
  74.    █  If a pattern is empty then the offset is zero.                        █
  75.    █                                                                        █
  76.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  77.    █ PATTERNS                                                               █
  78.    █────────────────────────────────────────────────────────────────────────█
  79.    █ Offset      00:Line number whose notes follow.  Bit 7 set means that   █
  80.    █                this is the last line.  Note, lines that have no notes  █
  81.    █                or effects on do not appear.                            █
  82.    █                                                                        █
  83.    █ Offset  01....:List of notes for that line:                            █
  84.    █                                                                        █
  85.    █              Offset     00:Channel no. note appears in (0 to 8).       █
  86.    █                            Bit 7 set means this is the last note for   █
  87.    █                            this line.                                  █
  88.    █              Offset 01..02:The note/effect for this channel.           █
  89.    █                            If the effect nibble is non-zero then       █
  90.    █                            Offset 03 contains the parameter, otherwise █
  91.    █                            the next channel starts at Offset 03.       █
  92.    █                                                                        █
  93.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  94.    █ NOTES                                                                  █
  95.    █────────────────────────────────────────────────────────────────────────█
  96.    █ Notes occupy three bytes (two if the effect nibble is zero):           █
  97.    █                                                                        █
  98.    █           Byte 00:Bit    7:  Bit 4 of the instrument number.           █
  99.    █                   Bit 6..4:  Octave of note.                           █
  100.    █                   Bit 3..0:  Note (1-12) in this order:                █
  101.    █                              C#, D, D#, E, F, F#, G, G#, A, A#, B, C   █
  102.    █                              A zero denotes no note and 15 denotes a   █
  103.    █                              KEY-OFF.                                  █
  104.    █                                                                        █
  105.    █           Byte 01:Bit 7..4:  Bits 3 to 0 of the instrument number.     █
  106.    █                   Bit 3..0:  The effect nibble (the effect column      █
  107.    █                              in RAD is the hex equivalent of this      █
  108.    █                              nibble).                                  █
  109.    █                                                                        █
  110.    █           Byte 02:The parameter to the effect (if any).                █
  111.    █                   Because parameters only go from 0 to 99, bit 7 is    █
  112.    █                   not used, but may be used in a later version of RAD. █
  113.    █                                                                        █
  114.    █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  115.  
  116.  ╔═══─═══─══─═──═── ─── ─- ─ - ·                             · ∙ ─ ── ─── ─═─═╗
  117.  ║                                                                            │
  118.  ║ Last Words                                                                 ║
  119.  ║ ~~~~~~~~~~                                                                 ║
  120.  ║                                                                            │
  121.  ║ Well we hope you get a lot of use out of RAD.  Although RAD started        ║
  122.  ║ as a simple project by me (Shayde) it soon turned into something a lot     │
  123.  │ more complex and RAD would not be wot it is without the considerable       |
  124.  ║ input from all members of Reality.  The graphics and a lot of design       :
  125.  ║ ideas were put forward by Rogue (grafix artist) and Void (musician).       ∙
  126.  │ Because WE knew want we wanted out of a music development package, RAD     ·
  127.  ║ has evolved into something we are very happy to use for developing our
  128.  │ productions.  We hope you dudez also discover how to be RADical...!
  129.  │
  130.  |                                                                            ·
  131.  :    RAD woz Kiwi-coded in 100% assembler by SHAYDE                          .
  132.  ∙                                                                            :
  133.  ·    RAD's graphics were Oz-drawn in 100% ANSI by ROGUE and VOID.            │
  134.                                                                               |
  135.       Documentation by SHAYDE, Doc-Ansi by ROGUE.                             │
  136.                                                                               │
  137.    If you'd like to send us any of your quality tunes made with RAD,          ║
  138.    please do so, and we'll include them in the next release pack!             │
  139.    (Our contact address can be found within RAD)                              ║
  140.                                                                               ║
  141.    L8'er dudes!                                                               │
  142.                                                                               ║
  143.                                                                               ║
  144.                                                                               ║
  145.     · ∙ ─ ─- ── ─────┤ REALITY PRODUCTIONS - April 1995 ├─ ─ ── ───═─══─═══─══╝
  146.